home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Interfaces / PInterfaces / OCEStandardDirectory.p < prev    next >
Encoding:
Text File  |  1995-07-06  |  19.4 KB  |  601 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        OCEStandardDirectory.p
  3.  
  4.      Contains:    Apple Open Collaboration Environment Standard Directory Interfaces.
  5.  
  6.      Version:    Technology:    AOCE Toolbox 1.02
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT OCEStandardDirectory;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __OCESTANDARDDIRECTORY__}
  30. {$SETC __OCESTANDARDDIRECTORY__ := 1}
  31.  
  32. {$I+}
  33. {$SETC OCEStandardDirectoryIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __APPLEEVENTS__}
  38. {$I AppleEvents.p}
  39. {$ENDC}
  40. {    Errors.p                                                    }
  41. {        ConditionalMacros.p                                        }
  42. {    Types.p                                                        }
  43. {    Memory.p                                                    }
  44. {        MixedMode.p                                                }
  45. {    OSUtils.p                                                    }
  46. {    Events.p                                                    }
  47. {        Quickdraw.p                                                }
  48. {            QuickdrawText.p                                        }
  49. {    EPPC.p                                                        }
  50. {        AppleTalk.p                                                }
  51. {        Files.p                                                    }
  52. {            Finder.p                                            }
  53. {        PPCToolbox.p                                            }
  54. {        Processes.p                                                }
  55. {    Notification.p                                                }
  56.  
  57. {$IFC UNDEFINED __ICONS__}
  58. {$I Icons.p}
  59. {$ENDC}
  60.  
  61. {$IFC UNDEFINED __TYPES__}
  62. {$I Types.p}
  63. {$ENDC}
  64.  
  65. {$IFC UNDEFINED __WINDOWS__}
  66. {$I Windows.p}
  67. {$ENDC}
  68. {    Controls.p                                                    }
  69. {        Menus.p                                                    }
  70.  
  71. {$IFC UNDEFINED __OCE__}
  72. {$I OCE.p}
  73. {$ENDC}
  74. {    Aliases.p                                                    }
  75. {    Script.p                                                    }
  76. {        IntlResources.p                                            }
  77.  
  78. {$IFC UNDEFINED __OCEAUTHDIR__}
  79. {$I OCEAuthDir.p}
  80. {$ENDC}
  81.  
  82. {$PUSH}
  83. {$ALIGN MAC68K}
  84. {$LibExport+}
  85.  
  86. CONST
  87.     gestaltSDPStandardDirectoryVersion = 'sdvr';
  88.     gestaltSDPFindVersion        = 'dfnd';
  89.     gestaltSDPPromptVersion        = 'prpv';
  90.  
  91.     genericDirectoryIconResource = -16721;                        { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  92.     genericLockedDirectoryIconResource = -16716;                { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  93.     genericRecordIconResource    = -16722;                        { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  94.     genericAttributeIconResource = -16723;                        { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  95.     genericTemplateIconResource    = -16746;                        { icl8, icl4, ICN#, ics#, ics4, ics8 }
  96.  
  97. { standard icon suites }
  98.     directoryFolderIconResource    = -16720;                        { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  99.     lockedDirectoryFolderIconResource = -16719;                    { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  100.     personalDirectoryIconResource = -16718;                        { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  101.     directoriesIconResource        = -16717;                        { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  102.     preferredPersonalDirectoryIconResource = -16724;            { icl8, icl4, ICN#, ics#, ics4, ics8, sicn  }
  103.  
  104. { icon IDs for spinning arrows }
  105.     kFirstSpinnerIcon            = -16745;
  106.     kLastSpinnerIcon            = -16738;
  107.  
  108. { resource types }
  109.     kSDPPanelResourceType        = 'panl';
  110.     kSDPFindPanelResourceType    = 'find';
  111.  
  112. { Standard FindPanel resource }
  113.     kStandardFindLayout            = -16700;
  114.  
  115. { Prompt For Identity structures }
  116.     kSDPGuestBit                = 0;
  117.     kSDPSpecificIdentityBit        = 1;
  118.     kSDPLocalIdentityBit        = 2;
  119.  
  120. { Values of SDPIdentityKind }
  121.     kSDPGuestMask                = 1 * (2**(kSDPGuestBit));
  122.     kSDPSpecificIdentityMask    = 1 * (2**(kSDPSpecificIdentityBit));
  123.     kSDPLocalIdentityMask        = 1 * (2**(kSDPLocalIdentityBit));
  124.  
  125.     
  126. TYPE
  127.     SDPIdentityKind = INTEGER;
  128.  
  129.  
  130. CONST
  131.     kSDPSuggestionOnly            = 0;
  132.     kSDPRestrictToDirectory        = 1;
  133.     kSDPRestrictToRecord        = 2;
  134.  
  135.     
  136. TYPE
  137.     SDPLoginFilterKind = INTEGER;
  138.  
  139. { Panel Structures }
  140. {
  141. While the panel is in operation, four selection states may exist.
  142.     1) kSDPNothingSelected means nothing is selected.
  143.     2) kContainSelected means a volume, folder, catalog, dnode, or PAB is selected.
  144.     3) kSDPLockedContainerSelected means one of the above, but no access privledges.
  145.     4) kSDPRecordSelected means that a record is currently selected.
  146. }
  147. { Values of SDPSelectionState }
  148.  
  149. CONST
  150.     kSDPNothingSelected            = 0;
  151.     kSDPLockedContainerSelected    = 1;
  152.     kSDPContainerSelected        = 2;
  153.     kSDPRecordSelected            = 3;
  154.     kSDPRecordAliasSelected        = 4;
  155.     kSDPContainerAliasSelected    = 5;
  156.  
  157.     
  158. TYPE
  159.     SDPSelectionState = INTEGER;
  160.  
  161. {
  162. This type informs the caller of the action the user took, either as the result
  163. of an event (as returned by SDPPanelEvent) or when SDPOpenSelectedItem is called.
  164.  
  165. kSDPProcessed means that the event (or call to SDPOpenSelectedItem) resulted in no
  166. state change.
  167.  
  168. kSDPSelectedAnItem indicates that the user wants to select the currently-hilited
  169. record. This is returned, for example, when a user double-clicks on a record.
  170.  
  171. kSDPChangedSelection implies that the user clicked on a new item (which may mean
  172. that no item is selected).
  173. }
  174. { Values of SDPPanelState }
  175.  
  176. CONST
  177.     kSDPProcessed                = 0;
  178.     kSDPSelectedAnItem            = 1;
  179.     kSDPChangedSelection        = 2;
  180.  
  181.     
  182. TYPE
  183.     SDPPanelState = INTEGER;
  184.  
  185. {
  186. Your application may read any of the fields in a SDPPanelRecord, but it should
  187. use the appropriate routines to make changes to the records with the exception
  188. of the refCon field which your application may read or write at will.  Private
  189. information follows the SDPPanelRecord, so the handle must not be re-sized.
  190. }
  191.     SDPPanelRecord = RECORD
  192.         bounds:                    Rect;
  193.         visible:                BOOLEAN;
  194.         enabled:                BOOLEAN;
  195.         focused:                BOOLEAN;
  196.         padByte:                SInt8; (* Byte *)
  197.         identity:                AuthIdentity;
  198.         refCon:                    LONGINT;
  199.         listRect:                Rect;
  200.         popupRect:                Rect;
  201.         numberOfRows:            INTEGER;
  202.         rowHeight:                INTEGER;
  203.         pabMode:                BOOLEAN;
  204.         filler1:                BOOLEAN;
  205.     END;
  206.  
  207.     SDPPanelPtr = ^SDPPanelRecord;
  208.     SDPPanelHandle = ^SDPPanelPtr;
  209.  
  210.     PanelBusyProcPtr = ProcPtr;  { PROCEDURE PanelBusy(Panel: SDPPanelHandle; busy: BOOLEAN); }
  211.     PanelBusyUPP = UniversalProcPtr;
  212.  
  213. CONST
  214.     uppPanelBusyProcInfo = $000001C0; { PROCEDURE (4 byte param, 1 byte param); }
  215.  
  216. FUNCTION NewPanelBusyProc(userRoutine: PanelBusyProcPtr): PanelBusyUPP;
  217.     {$IFC NOT GENERATINGCFM }
  218.     INLINE $2E9F;
  219.     {$ENDC}
  220.  
  221. PROCEDURE CallPanelBusyProc(Panel: SDPPanelHandle; busy: BOOLEAN; userRoutine: PanelBusyUPP);
  222.     {$IFC NOT GENERATINGCFM}
  223.     INLINE $205F, $4E90;
  224.     {$ENDC}
  225.     
  226. TYPE
  227.     PanelBusyProc = PanelBusyUPP;
  228.  
  229. { Find Panel Structures }
  230.  
  231. CONST
  232.     kSDPItemIsSelectedBit        = 0;
  233.     kSDPFindTextExistsBit        = 1;
  234.  
  235. { Values of SDPFindPanelState }
  236.     kSDPItemIsSelectedMask        = 1 * (2**(kSDPItemIsSelectedBit));
  237.     kSDPFindTextExistsMask        = 1 * (2**(kSDPFindTextExistsBit));
  238.  
  239.     
  240. TYPE
  241.     SDPFindPanelState = INTEGER;
  242.  
  243. { Values of SDPFindPanelFocus }
  244.  
  245. CONST
  246.     kSDPFindPanelNoFocus        = 0;
  247.     kSDPFindPanelListHasFocus    = 1;
  248.     kSDPFindPanelTextHasFocus    = 2;
  249.  
  250.     
  251. TYPE
  252.     SDPFindPanelFocus = INTEGER;
  253.  
  254.     SDPFindPanelRecord = RECORD
  255.         upperLeft:                Point;
  256.         visible:                BOOLEAN;
  257.         enabled:                BOOLEAN;
  258.         nowFinding:                BOOLEAN;
  259.         padByte:                SInt8; (* Byte *)
  260.         currentFocus:            SDPFindPanelFocus;
  261.         identity:                AuthIdentity;
  262.         simultaneousSearchCount: INTEGER;
  263.         refCon:                    LONGINT;
  264.     END;
  265.  
  266.     SDPFindPanelPtr = ^SDPFindPanelRecord;
  267.     SDPFindPanelHandle = ^SDPFindPanelPtr;
  268.  
  269. { Values of SDPFindPanelResult }
  270.  
  271. CONST
  272.     kSDPSelectedAFindItem        = 0;
  273.     kSDPFindSelectionChanged    = 1;
  274.     kSDPFindCompleted            = 2;
  275.     kSDPTextStateChanged        = 3;
  276.     kSDPFocusChanged            = 4;
  277.     kSDPSelectionAndFocusChanged = 5;
  278.     kSDPMenuChanged                = 6;
  279.     kSDPSelectionAndMenuChanged    = 7;
  280.     kSDPProcessedFind            = 8;
  281.  
  282.     
  283. TYPE
  284.     SDPFindPanelResult = INTEGER;
  285.  
  286.     PackedRStringListHandle = ^PackedPathNamePtr;
  287.  
  288.     PackedDSSpecHandle = ^PackedDSSpecPtr;
  289.  
  290.     FindPanelBusyProcPtr = ProcPtr;  { PROCEDURE FindPanelBusy(findPanel: SDPFindPanelHandle; busy: BOOLEAN); }
  291.     FindPanelBusyUPP = UniversalProcPtr;
  292.  
  293. CONST
  294.     uppFindPanelBusyProcInfo = $000001C0; { PROCEDURE (4 byte param, 1 byte param); }
  295.  
  296. FUNCTION NewFindPanelBusyProc(userRoutine: FindPanelBusyProcPtr): FindPanelBusyUPP;
  297.     {$IFC NOT GENERATINGCFM }
  298.     INLINE $2E9F;
  299.     {$ENDC}
  300.  
  301. PROCEDURE CallFindPanelBusyProc(findPanel: SDPFindPanelHandle; busy: BOOLEAN; userRoutine: FindPanelBusyUPP);
  302.     {$IFC NOT GENERATINGCFM}
  303.     INLINE $205F, $4E90;
  304.     {$ENDC}
  305.     
  306. TYPE
  307.     FindPanelBusyProc = FindPanelBusyUPP;
  308.  
  309. { Prompt For Identity Routines }
  310.  
  311. FUNCTION SDPPromptForID(VAR id: AuthIdentity; guestPrompt: ConstStr255Param; specificIDPrompt: ConstStr255Param; localIDPrompt: ConstStr255Param; {CONST}VAR recordType: RString; permittedKinds: SDPIdentityKind; VAR selectedKind: SDPIdentityKind; {CONST}VAR loginFilter: RecordID; filterKind: SDPLoginFilterKind): OSErr;
  312.     {$IFC NOT GENERATINGCFM}
  313.     INLINE $203C, 16, 904, $AA5D;
  314.     {$ENDC}
  315. {
  316. SDPNewPanel creates a new panel. You supply the window in which the panel
  317. is to live, the bounds for the panel (which includes both the menu and the list),
  318. whether or not the panel is to be initially visible, the initial RLI (nil for
  319. catalogs and volumes), the types of records that will be shown (only a single
  320. (non-nil) type which may contain wildcards), the identity by which to browse
  321. (for access control reasons), and a refCon which is  available to the caller.
  322. }
  323. FUNCTION SDPNewPanel(VAR newPanel: SDPPanelHandle; window: WindowPtr; {CONST}VAR bounds: Rect; visible: BOOLEAN; enabled: BOOLEAN; {CONST}VAR initialRLI: PackedRLI; {CONST}VAR typesList: RStringPtr; typeCount: LONGINT; identity: AuthIdentity; enumFlags: DirEnumChoices; matchTypeHow: ByteParameter; refCon: LONGINT): OSErr;
  324.     {$IFC NOT GENERATINGCFM}
  325.     INLINE $203C, 21, 100, $AA5D;
  326.     {$ENDC}
  327. {
  328. SDPSetIdentity Sets the identity used for browsing.  NOTE: This call is likely to go
  329. away if the new authentication scheme works.
  330. }
  331. FUNCTION SDPSetIdentity(panel: SDPPanelHandle; identity: AuthIdentity): OSErr;
  332.     {$IFC NOT GENERATINGCFM}
  333.     INLINE $203C, 4, 115, $AA5D;
  334.     {$ENDC}
  335. {
  336. SDPGetNewPanel is similar to SDPNewPanel above, except it takes a resource id of a
  337. 'panl' resource.
  338. }
  339. FUNCTION SDPGetNewPanel(VAR newPanel: SDPPanelHandle; resourceID: INTEGER; window: WindowPtr; {CONST}VAR initialRLI: PackedRLI; identity: AuthIdentity): OSErr;
  340.     {$IFC NOT GENERATINGCFM}
  341.     INLINE $203C, 9, 101, $AA5D;
  342.     {$ENDC}
  343. {
  344. Call this when you're completely done with a panel. It deallocates all of the
  345. associated data structures.
  346. }
  347. FUNCTION SDPDisposePanel(panel: SDPPanelHandle): OSErr;
  348.     {$IFC NOT GENERATINGCFM}
  349.     INLINE $203C, 2, 102, $AA5D;
  350.     {$ENDC}
  351. {
  352. If the panel is visible, it makes it invisible by hiding the menu, turning off
  353. drawing of the list, and erasing and  invaling the list's rectangle.
  354. }
  355. FUNCTION SDPHidePanel(panel: SDPPanelHandle): OSErr;
  356.     {$IFC NOT GENERATINGCFM}
  357.     INLINE $203C, 2, 103, $AA5D;
  358.     {$ENDC}
  359. { If the panel is invisible, it makes it visible and draws it. }
  360. FUNCTION SDPShowPanel(panel: SDPPanelHandle): OSErr;
  361.     {$IFC NOT GENERATINGCFM}
  362.     INLINE $203C, 2, 104, $AA5D;
  363.     {$ENDC}
  364. { Disables the list and menu so that it won't accept any commands. }
  365. FUNCTION SDPEnablePanel(panel: SDPPanelHandle; enable: BOOLEAN): OSErr;
  366.     {$IFC NOT GENERATINGCFM}
  367.     INLINE $203C, 3, 105, $AA5D;
  368.     {$ENDC}
  369. {
  370. Move the upper-left-hand corner of the panel to (h,v), given in local coordinates of
  371. the panel's window.
  372. }
  373. FUNCTION SDPMovePanel(panel: SDPPanelHandle; h: INTEGER; v: INTEGER): OSErr;
  374.     {$IFC NOT GENERATINGCFM}
  375.     INLINE $203C, 4, 107, $AA5D;
  376.     {$ENDC}
  377. {
  378. Resizes the panel to have the given width and height (keeping the upper-left-hand
  379. corner in a fixed position).
  380. }
  381. FUNCTION SDPSizePanel(panel: SDPPanelHandle; width: INTEGER; height: INTEGER): OSErr;
  382.     {$IFC NOT GENERATINGCFM}
  383.     INLINE $203C, 4, 108, $AA5D;
  384.     {$ENDC}
  385. {
  386. This routine simulates a double-click on the selected item (if there is no selected
  387. item, then it does nothing), and it returns the result of that "double-click" via the
  388. whatHappened parameter. If a container is selected, then that container will be
  389. opened and kMovedDownTheHierarchy is returned. If, however, the user is at the lowest
  390. level in the hierarchy, then kSDPSelectedAnItem is returned.
  391. }
  392. FUNCTION SDPOpenSelectedItem(panel: SDPPanelHandle; VAR whatHappened: SDPPanelState): OSErr;
  393.     {$IFC NOT GENERATINGCFM}
  394.     INLINE $203C, 4, 109, $AA5D;
  395.     {$ENDC}
  396. {
  397. Returns whether a record is selected, something else is selected, or nothing is
  398. selected.
  399. }
  400. FUNCTION SDPGetPanelSelectionState(panel: SDPPanelHandle; VAR itsState: SDPSelectionState): OSErr;
  401.     {$IFC NOT GENERATINGCFM}
  402.     INLINE $203C, 4, 110, $AA5D;
  403.     {$ENDC}
  404. {
  405. Returns the size of the currently-selected DSSpec, or zero if a record is
  406. not selected.  It is safe to do a NewPtr (SDPGetPanelSelectionSize (...))
  407. }
  408. FUNCTION SDPGetPanelSelectionSize(panel: SDPPanelHandle; VAR dsSpecSize: INTEGER): OSErr;
  409.     {$IFC NOT GENERATINGCFM}
  410.     INLINE $203C, 4, 114, $AA5D;
  411.     {$ENDC}
  412. {
  413. Returns the currently-selected DSSpec, or a zero-lengthed
  414. DSSpec if a record is not selected. It is assumed that the selection
  415. buffer allocated is large enough.
  416. }
  417. FUNCTION SDPGetPanelSelection(panel: SDPPanelHandle; VAR selection: PackedDSSpec): OSErr;
  418.     {$IFC NOT GENERATINGCFM}
  419.     INLINE $203C, 4, 111, $AA5D;
  420.     {$ENDC}
  421. {
  422. Forces browsing to the specified RLI. If prli is the current RLI, then it does
  423. nothing.
  424. }
  425. FUNCTION SDPSetPath(panel: SDPPanelHandle; {CONST}VAR prli: PackedRLI): OSErr;
  426.     {$IFC NOT GENERATINGCFM}
  427.     INLINE $203C, 4, 112, $AA5D;
  428.     {$ENDC}
  429. {
  430. This is the main driver for the panel.  You should pass all events to SDPPanelEvent
  431. including NULL events.  If you have more than 1 panel, you will need to
  432. call SDPPanelEvent for each panel.  NOTE:  For Update Events you will also need to call
  433. SDPUpdatePanel as described below.
  434. }
  435. FUNCTION SDPPanelEvent(panel: SDPPanelHandle; {CONST}VAR theEvent: EventRecord; VAR whatHappened: SDPPanelState): OSErr;
  436.     {$IFC NOT GENERATINGCFM}
  437.     INLINE $203C, 6, 113, $AA5D;
  438.     {$ENDC}
  439. {
  440. SDPUpdatePanel should be called in response to an update event.  Generally you will
  441. have first called BeginUpdate, and pass the windows visRgn as theRgn.  If NULL
  442. is passed for theRgn the entire panel is re-drawn.  NOTE:  Drawing is not cliped to
  443. theRgn, if this is desired, you must first call SetClip.
  444. }
  445. FUNCTION SDPUpdatePanel(panel: SDPPanelHandle; theRgn: RgnHandle): OSErr;
  446.     {$IFC NOT GENERATINGCFM}
  447.     INLINE $203C, 4, 106, $AA5D;
  448.     {$ENDC}
  449. {
  450. SDPSelectString scrolls and selects the closest matching string at the current
  451. level.  This is the same behavior as if the user typed in the given string.
  452. }
  453. FUNCTION SDPSelectString(panel: SDPPanelHandle; {CONST}VAR name: RString): OSErr;
  454.     {$IFC NOT GENERATINGCFM}
  455.     INLINE $203C, 4, 116, $AA5D;
  456.     {$ENDC}
  457. {
  458. SDPGetPathLength returns the length in bytes required to hold the current path name
  459. in RLI format.  This corresponds to the path name in the popup menu.
  460. }
  461. FUNCTION SDPGetPathLength(panel: SDPPanelHandle; VAR pathNameLength: INTEGER): OSErr;
  462.     {$IFC NOT GENERATINGCFM}
  463.     INLINE $203C, 4, 117, $AA5D;
  464.     {$ENDC}
  465. { SDPGetPath returns the current rli. }
  466. FUNCTION SDPGetPath(panel: SDPPanelHandle; VAR prli: PackedRLI; VAR dsRefNum: INTEGER): OSErr;
  467.     {$IFC NOT GENERATINGCFM}
  468.     INLINE $203C, 6, 118, $AA5D;
  469.     {$ENDC}
  470. {
  471. SDPSetFocus will draw the focus rectangle or erase the focus rectangle depending upon
  472. the focus boolean.
  473. }
  474. FUNCTION SDPSetFocus(panel: SDPPanelHandle; focus: BOOLEAN): OSErr;
  475.     {$IFC NOT GENERATINGCFM}
  476.     INLINE $203C, 3, 119, $AA5D;
  477.     {$ENDC}
  478. {
  479. SDPSetPanelBalloonHelp allows clients to specify a STR# resource id to use for 
  480. balloon help.  Balloon help is unavailable until this call is made.
  481. }
  482. FUNCTION SDPSetPanelBalloonHelp(panel: SDPPanelHandle; balloonHelpID: INTEGER): OSErr;
  483.     {$IFC NOT GENERATINGCFM}
  484.     INLINE $203C, 3, 120, $AA5D;
  485.     {$ENDC}
  486. {
  487. SDPInstallPanelBusyProc allows clients to install a CB that will be called while
  488. the panel is aynchronously busy.
  489. }
  490. FUNCTION SDPInstallPanelBusyProc(panel: SDPPanelHandle; busyProc: PanelBusyProc): OSErr;
  491.     {$IFC NOT GENERATINGCFM}
  492.     INLINE $203C, 4, 121, $AA5D;
  493.     {$ENDC}
  494. FUNCTION SDPNewFindPanel(VAR newPanel: SDPFindPanelHandle; window: WindowPtr; upperLeft: Point; layoutResourceID: INTEGER; visible: BOOLEAN; enabled: BOOLEAN; {CONST}VAR typesList: RStringPtr; typeCount: LONGINT; matchTypeHow: ByteParameter; identity: AuthIdentity; simultaneousSearchCount: INTEGER; initialFocus: SDPFindPanelFocus; refCon: LONGINT): OSErr;
  495.     {$IFC NOT GENERATINGCFM}
  496.     INLINE $203C, 20, 2300, $AA5D;
  497.     {$ENDC}
  498. FUNCTION SDPDisposeFindPanel(findPanel: SDPFindPanelHandle): OSErr;
  499.     {$IFC NOT GENERATINGCFM}
  500.     INLINE $203C, 2, 2301, $AA5D;
  501.     {$ENDC}
  502. FUNCTION SDPStartFind(findPanel: SDPFindPanelHandle): OSErr;
  503.     {$IFC NOT GENERATINGCFM}
  504.     INLINE $203C, 2, 2302, $AA5D;
  505.     {$ENDC}
  506. FUNCTION SDPStopFind(findPanel: SDPFindPanelHandle): OSErr;
  507.     {$IFC NOT GENERATINGCFM}
  508.     INLINE $203C, 2, 2303, $AA5D;
  509.     {$ENDC}
  510. FUNCTION SDPFindPanelEvent(findPanel: SDPFindPanelHandle; {CONST}VAR event: EventRecord; VAR whatHappened: SDPFindPanelResult): OSErr;
  511.     {$IFC NOT GENERATINGCFM}
  512.     INLINE $203C, 6, 2304, $AA5D;
  513.     {$ENDC}
  514. FUNCTION SDPUpdateFindPanel(findPanel: SDPFindPanelHandle; theRgn: RgnHandle): OSErr;
  515.     {$IFC NOT GENERATINGCFM}
  516.     INLINE $203C, 4, 2305, $AA5D;
  517.     {$ENDC}
  518. FUNCTION SDPShowFindPanel(findPanel: SDPFindPanelHandle): OSErr;
  519.     {$IFC NOT GENERATINGCFM}
  520.     INLINE $203C, 2, 2306, $AA5D;
  521.     {$ENDC}
  522. FUNCTION SDPHideFindPanel(findPanel: SDPFindPanelHandle): OSErr;
  523.     {$IFC NOT GENERATINGCFM}
  524.     INLINE $203C, 2, 2307, $AA5D;
  525.     {$ENDC}
  526. FUNCTION SDPMoveFindPanel(findPanel: SDPFindPanelHandle; h: INTEGER; v: INTEGER): OSErr;
  527.     {$IFC NOT GENERATINGCFM}
  528.     INLINE $203C, 4, 2308, $AA5D;
  529.     {$ENDC}
  530. FUNCTION SDPEnableFindPanel(findPanel: SDPFindPanelHandle; enabled: BOOLEAN): OSErr;
  531.     {$IFC NOT GENERATINGCFM}
  532.     INLINE $203C, 3, 2309, $AA5D;
  533.     {$ENDC}
  534. FUNCTION SDPSetFindPanelFocus(findPanel: SDPFindPanelHandle; newFocus: SDPFindPanelFocus): OSErr;
  535.     {$IFC NOT GENERATINGCFM}
  536.     INLINE $203C, 3, 2310, $AA5D;
  537.     {$ENDC}
  538. FUNCTION SDPGetFindPanelState(findPanel: SDPFindPanelHandle; VAR itsState: SDPFindPanelState): OSErr;
  539.     {$IFC NOT GENERATINGCFM}
  540.     INLINE $203C, 4, 2311, $AA5D;
  541.     {$ENDC}
  542. FUNCTION SDPGetFindPanelSelectionSize(findPanel: SDPFindPanelHandle; VAR size: INTEGER): OSErr;
  543.     {$IFC NOT GENERATINGCFM}
  544.     INLINE $203C, 4, 2312, $AA5D;
  545.     {$ENDC}
  546. FUNCTION SDPGetFindPanelSelection(findPanel: SDPFindPanelHandle; VAR selection: PackedDSSpec): OSErr;
  547.     {$IFC NOT GENERATINGCFM}
  548.     INLINE $203C, 4, 2313, $AA5D;
  549.     {$ENDC}
  550. FUNCTION SDPSetFindPanelBalloonHelp(findPanel: SDPFindPanelHandle; balloonHelpID: INTEGER): OSErr;
  551.     {$IFC NOT GENERATINGCFM}
  552.     INLINE $203C, 3, 2314, $AA5D;
  553.     {$ENDC}
  554. FUNCTION SDPSetFindIdentity(findPanel: SDPFindPanelHandle; identity: AuthIdentity): OSErr;
  555.     {$IFC NOT GENERATINGCFM}
  556.     INLINE $203C, 4, 2315, $AA5D;
  557.     {$ENDC}
  558. FUNCTION SDPInstallFindPanelBusyProc(findPanel: SDPFindPanelHandle; busyProc: FindPanelBusyProc): OSErr;
  559.     {$IFC NOT GENERATINGCFM}
  560.     INLINE $203C, 4, 2316, $AA5D;
  561.     {$ENDC}
  562. FUNCTION SDPGetIconByType({CONST}VAR recordType: RString; whichIcons: IconSelectorValue; VAR iconSuite: Handle): OSErr;
  563.     {$IFC NOT GENERATINGCFM}
  564.     INLINE $303C, 1024, $AA5C;
  565.     {$ENDC}
  566. FUNCTION SDPGetDSSpecIcon({CONST}VAR packedDSSpec: PackedDSSpec; whichIcons: IconSelectorValue; VAR iconSuite: Handle): OSErr;
  567.     {$IFC NOT GENERATINGCFM}
  568.     INLINE $303C, 1025, $AA5C;
  569.     {$ENDC}
  570. FUNCTION SDPGetCategories(VAR categories: PackedRStringListHandle; VAR displayNames: PackedRStringListHandle): OSErr;
  571.     {$IFC NOT GENERATINGCFM}
  572.     INLINE $303C, 1026, $AA5C;
  573.     {$ENDC}
  574. FUNCTION SDPGetCategoryTypes({CONST}VAR category: RString; VAR types: PackedRStringListHandle): OSErr;
  575.     {$IFC NOT GENERATINGCFM}
  576.     INLINE $303C, 1027, $AA5C;
  577.     {$ENDC}
  578. FUNCTION SDPResolveAliasFile(fileSpec: FSSpecPtr; resolvedDSSpec: PackedDSSpecHandle; identity: AuthIdentity; mayPromptUser: BOOLEAN): OSErr;
  579.     {$IFC NOT GENERATINGCFM}
  580.     INLINE $203C, 7, 3700, $AA5D;
  581.     {$ENDC}
  582. FUNCTION SDPResolveAliasDSSpec(theAliasDSSpec: PackedDSSpecHandle; identity: AuthIdentity; mayPromptUser: BOOLEAN): OSErr;
  583.     {$IFC NOT GENERATINGCFM}
  584.     INLINE $203C, 5, 3701, $AA5D;
  585.     {$ENDC}
  586. FUNCTION SDPRepairPersonalDirectory(VAR pd: FSSpec; showProgress: BOOLEAN): OSErr;
  587.     {$IFC NOT GENERATINGCFM}
  588.     INLINE $203C, 3, 6700, $AA5D;
  589.     {$ENDC}
  590.  
  591. {$ALIGN RESET}
  592. {$POP}
  593.  
  594. {$SETC UsingIncludes := OCEStandardDirectoryIncludes}
  595.  
  596. {$ENDC} {__OCESTANDARDDIRECTORY__}
  597.  
  598. {$IFC NOT UsingIncludes}
  599.  END.
  600. {$ENDC}
  601.